package com.cskaoyan.mapper.wxMapper;

import com.cskaoyan.bean.bo.vxBo.WxGoodListBO;
import com.cskaoyan.bean.po.wxPo.MarketGoods;
import com.cskaoyan.bean.po.wxPo.MarketGoodsExample;
import com.cskaoyan.bean.vo.vxVo.WxIndexFloorGoods;
import com.cskaoyan.bean.vo.vxVo.WxIndexGoodsVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MarketGoodsMapper {
    long countByExample(MarketGoodsExample example);

    int deleteByExample(MarketGoodsExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(MarketGoods record);

    int insertSelective(MarketGoods record);

    List<MarketGoods> selectByExampleWithBLOBs(MarketGoodsExample example);

    List<MarketGoods> selectByExample(MarketGoodsExample example);

    MarketGoods selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") MarketGoods record, @Param("example") MarketGoodsExample example);

    int updateByExampleWithBLOBs(@Param("record") MarketGoods record, @Param("example") MarketGoodsExample example);

    int updateByExample(@Param("record") MarketGoods record, @Param("example") MarketGoodsExample example);

    int updateByPrimaryKeySelective(MarketGoods record);

    int updateByPrimaryKeyWithBLOBs(MarketGoods record);

    int updateByPrimaryKey(MarketGoods record);

    List<WxIndexGoodsVO> selectGoodsIsNew();

    List<WxIndexGoodsVO> selectGoodsIsHot();

    List<WxIndexFloorGoods> selectGoodsAndClassify();

    Integer selectGoodsCount();

    List<WxIndexGoodsVO> selectGoodsByCategoryId(@Param("categoryId") Integer categoryId, @Param("wxGoodListBO") WxGoodListBO wxGoodListBO);

    List<WxIndexGoodsVO> selectGoodsInfoByCategoryId(@Param("id") Integer id, @Param("marketGoods") MarketGoods marketGoods);

    List<WxIndexGoodsVO> selectGoodsByCategoryIdAndSize(@Param("categoryIdList") List<Integer> categoryIdList);

}